home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Sample Code / Files / MoreIsBetter / MIB-Libraries / Headers / MoreControls.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-09-25  |  6.7 KB  |  212 lines  |  [TEXT/CWIE]

  1. /*
  2.     File:        MoreControls.h
  3.  
  4.     Contains:    
  5.  
  6.     Written by:    Pete Gontier (PCG)
  7.  
  8.     Copyright:    Copyright (c) 1998 Apple Computer, Inc.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <5>      9/9/98    PCG     re-work import and export pragmas
  13.          <4>      9/1/98    PCG     Universal Headers 3.2
  14.          <3>     7/24/98    PCG        coddle linker (C++, CFM-68K)
  15.          <2>     7/24/98    PCG        eliminate dependency on 'qd'
  16.          <2>     6/23/98    PCG     add IsScrollBar
  17.          <1>     6/16/98    PCG     initial checkin
  18. */
  19.  
  20.  
  21. #pragma once
  22.  
  23. #include "MorePrefix.h"
  24.  
  25. #ifndef __CONTROLS__
  26. #    include <Controls.h>
  27. #endif
  28.  
  29. enum
  30. {
  31.     //////////////////////////////////////////////////////////////////
  32.     //
  33.     //    resource IDs of CDEFs (control definition proc resources)
  34.     //
  35.     //////////////////////////////////////////////////////////////////
  36.  
  37.     kControlOldButtonDefProcResID,
  38.     kControlOldScrollBarDefProcResID,
  39.     kControlBevelButtonDefProcResID,
  40.     kControlSliderDefProcResID,
  41.     kControlTriangleDefProcResID,
  42.     kControlProgressBarDefProcResID,
  43.     kControlLittleArrowsDefProcResID,
  44.     kControlChasingArrowsDefProcResID,
  45.     kControlTabsDefProcResID,
  46.     kControlSeparatorLineDefProcResID,
  47.     kControlGroupBoxDefProcResID,
  48.     kControlImageWellDefProcResID,
  49.     kControlPopupArrowDefProcResID,
  50.     kControlUnluckyDefProcResID,
  51.     kControlPlacardDefProcResID,
  52.     kControlClockDefProcResID,
  53.     kControlUserPaneDefProcResID,
  54.     kControlEditTextDefProcResID,
  55.     kControlStaticTextDefProcResID,
  56.     kControlPictureDefProcResID,
  57.     kControlIconDefProcResID,
  58.     kControlWindowHeaderDefProcResID,
  59.     kControlListBoxDefProcResID,
  60.     kControlPushButtonDefProcResID,
  61.     kControlScrollBarDefProcResID,
  62.     kControlPopupButtonDefProcResID,
  63.     kControlRadioGroupDefProcResID,
  64.     kControlOldPopupMenuDefProcResID = 63
  65. };
  66.  
  67. enum
  68. {
  69.     //////////////////////////////////////////////////////////////////
  70.     //
  71.     //    resource type for individual control font style record
  72.     //
  73.     //////////////////////////////////////////////////////////////////
  74.  
  75.     kMoreControls_ControlStyleType = FOUR_CHAR_CODE('cfsr')
  76. };
  77.  
  78. enum
  79. {
  80.     //////////////////////////////////////////////////////////////////
  81.     //
  82.     //    gap between controls and from edges of the parent window
  83.     //
  84.     //////////////////////////////////////////////////////////////////
  85.  
  86.     MoreControls_kControlGap = (3 + 1) // 3 for focus, 1 for white space
  87. };
  88.  
  89. enum
  90. {
  91.     //////////////////////////////////////////////////////////////////
  92.     //
  93.     //    alignments for AlignControl and AlignSubControls
  94.     //
  95.     //////////////////////////////////////////////////////////////////
  96.  
  97.  
  98.     MoreControls_kAlignSystem,
  99.     MoreControls_kAlignLeft,
  100.     MoreControls_kAlignCenter,
  101.     MoreControls_kAlignRight
  102. };
  103.  
  104. typedef UInt8 MoreControls_tAlignment;
  105.  
  106. enum
  107. {
  108.     //////////////////////////////////////////////////////////////////
  109.     //
  110.     //    directions for MoveControlNear and SetControlQuadrant
  111.     //
  112.     //////////////////////////////////////////////////////////////////
  113.  
  114.     MoreControls_kDirectionNorthWest,
  115.     MoreControls_kDirectionNorth,
  116.     MoreControls_kDirectionNorthEast,
  117.     MoreControls_kDirectionWest,
  118.     MoreControls_kDirectionCenter,
  119.     MoreControls_kDirectionEast,
  120.     MoreControls_kDirectionSouthWest,
  121.     MoreControls_kDirectionSouth,
  122.     MoreControls_kDirectionSouthEast
  123. };
  124.  
  125. typedef UInt8 MoreControls_tDirection;
  126.  
  127. //////////////////////////////////////////////////////////////////
  128. //
  129. //    tab control stuff for Appearance 1.0.1 or later
  130. //
  131. //////////////////////////////////////////////////////////////////
  132.  
  133. #if UNIVERSAL_INTERFACES_VERSION < 0x0310
  134.  
  135. enum
  136. {
  137.     kControlTabInfoTag            = 'tabi'                        /* ControlTabInfoRec*/
  138. };
  139.  
  140.  
  141. enum {
  142.     kControlTabInfoVersionZero    = 0
  143. };
  144.  
  145. struct ControlTabInfoRec {
  146.     SInt16                             version;                    /* version of this structure.*/
  147.     SInt16                             iconSuiteID;                /* icon suite to use. Zero indicates no icon*/
  148.     Str255                             name;                        /* name to be displayed on the tab*/
  149. };
  150. typedef struct ControlTabInfoRec ControlTabInfoRec;
  151.  
  152. #endif // UNIVERSAL_INTERFACES_VERSION < 0x0310
  153.  
  154. //////////////////////////////////////////////////////////////////
  155. //
  156. //    finally, the function prototypes
  157. //
  158. //////////////////////////////////////////////////////////////////
  159.  
  160. #ifdef __cplusplus
  161.     extern "C" {
  162. #endif
  163.  
  164. #pragma import on // for clients
  165. #pragma export on // for building a library
  166.  
  167. pascal OSErr    OffsetControl                            (ControlHandle, SInt16 h, SInt16 v);
  168. pascal OSErr    InsetControl                            (ControlHandle,SInt16);
  169. pascal OSErr    ExpandControl                            (ControlHandle);
  170. pascal OSErr    EncloseSubControls                        (ControlHandle);
  171. pascal OSErr    AlignControl                            (ControlHandle anchor, ControlHandle, MoreControls_tAlignment);
  172. pascal OSErr    AlignSubControls                        (ControlHandle, MoreControls_tAlignment);
  173. pascal OSErr    SetBestControlRect                        (ControlHandle, SInt16 *baseLineOffset);
  174. pascal OSErr    MoveControlNear                            (ControlHandle moveMe, ControlHandle near, MoreControls_tDirection);
  175. pascal OSErr    SetControlQuadrant                        (ControlHandle, MoreControls_tDirection);
  176. pascal OSErr    MoreFindControlUnderMouse                (Point, WindowRef, ControlPartCode *, ControlHandle *);
  177. pascal OSErr    GetStaticTextControlTextHeight            (ControlHandle, SInt16 *);
  178. pascal OSErr    SetUserPaneDrawProc                        (ControlHandle, ControlUserPaneDrawProcPtr);
  179. pascal OSErr    SetUserPaneSetUpSpecialBackgroundProc    (ControlHandle, ControlUserPaneBackgroundProcPtr);
  180. pascal OSErr    SetBevelButtonMenu                        (ControlHandle,MenuRef);
  181. pascal OSErr    SetBevelButtonMenuDelay                    (ControlHandle,SInt32);
  182. pascal OSErr     SetProgressBarIndeterminate                (ControlHandle,Boolean);
  183. pascal OSErr    SetPopUpButtonMenu                        (ControlHandle, MenuRef);
  184. pascal OSErr    Get1NewControl                            (short resID, WindowRef, ControlHandle *);
  185. pascal OSErr    Get1NewStaticTextControl                (short resID, WindowRef, ControlHandle *);
  186. pascal OSErr    Get1NewPopupButtonControl                (short resID, WindowRef, ControlHandle *);
  187. pascal OSErr    InvalControl                            (ControlHandle);
  188. pascal OSErr    CopyTabFontStyle                        (ControlHandle oldTabs, ControlHandle newTabs);
  189. pascal OSErr    ToggleControl                            (ControlHandle);
  190. pascal OSErr    IdleControlsInAllWindows                (void);
  191. pascal OSErr    SetCursorAccordingToControl                (QDGlobalsPtr);
  192. pascal OSErr    GetControlDefProcResID                    (ControlHandle, short *);
  193. pascal OSErr    MoreGetControlRegion                    (ControlHandle, RgnHandle *);
  194. pascal OSErr    SetControlTextFromResource                (ControlHandle, short textResID);
  195. pascal OSErr    SetControlTextStyleFromResource            (ControlHandle, short styleResID);
  196.  
  197. pascal OSErr    InsertTab                                (ControlHandle, ControlHandle *, UInt16 before);
  198. pascal OSErr    RemoveTab                                (ControlHandle, ControlHandle *, UInt16 which);
  199. pascal OSErr    AppendTabs                                (ControlHandle, UInt16);
  200. pascal OSErr    TruncateTabs                            (ControlHandle, UInt16);
  201.  
  202. pascal OSErr    SetTabIcon                                (ControlHandle, ControlPartCode, short iconSuiteID);
  203.  
  204. pascal OSErr    IsScrollBar                                (ControlHandle, Boolean *);
  205.  
  206. #pragma import reset // for clients
  207. #pragma export reset // for building a library
  208.  
  209. #ifdef __cplusplus
  210.     }
  211. #endif
  212.